1. Field of the Invention
The present invention relates to a soft decision decoder employed by digital radio communication apparatuses for digital mobile communications, digital satellite communications, digital mobile satellite communications, or the like.
2. Description of Related Art
In digital data transmission systems, error correction is usually used for correcting errors of data occurred on transmission channels. Convolutional codes are known as a typical error correcting code, and Viterbi decoding is most frequently used as a decoding method for the convolutional codes. The Viterbi decoding is-divided into hard decision and soft decision: the former decides the input data to the decoder in accordance with the binary rule whether it is 0 or 1, and the latter provides the input data to the decoder with multiple values. Generally, the soft decision Viterbi decoding can improve the characteristic of the decoder as compared with the hard decision Viterbi decoding.
In the digital mobile communications, intersymbol interference will some times occur which causes interference to the following symbols owing to delay spread due to multipath channel. One of the techniques to reduce the influence of the interference, an adaptive equalizer is known effective.
FIG. 19 is a block diagram showing a conventional soft decision decoder disclosed in "A Soft-Output Bidirectional Decision Feedback Equalization Technique for TDMA Cellular Radio", Y. Liu, M. Wallace and J. W. Ketchum, pp. 1034-1045, IEEE Journal on Selected Areas in Communications, Vol. 11, No. 7, September 1993. In this figure, the reference numeral 11 designates an adaptive equalizer, 12 designates a reliability information generator, 13 designates a deinterleaver, 14 designates a soft decision Viterbi decoder, 101 designates a base band signal as a received signal, 102 designates soft decision data, 103 designates an equalized square error, 104 designates reliability information, 105 designates deinterleaved reliability information, and 106 designates decoded data.
The adaptive equalizer 11, receiving the base band signal 101, operates such that the equalized square error 103 becomes minimum to reduce the influence of the intercode interference in the base band signal 101, and outputs the soft decision data 102 and equalized square error 103. Specifically, the adaptive equalizer 11 successively delays the base band signal 101 and multiples the delayed signals by tap coefficients, followed by addition of the products, thereby outputting the addition result as the soft decision data 102. Besides, it generates and outputs the equalized square error 103 from an equalization error calculated from the soft decision data 102 and the hard decision result of the soft decision data 102. In the course of this, the adaptive equalizer 11 controls the tap coefficients so that the equalized square error 103 becomes as small as possible, thereby reducing the effect of the intercede interference in the base band signal 101.
The reliability information generator 12, receiving the soft decision data 102 and the equalized square error 103 fed from the adaptive equalizer 11, generates on the basis of these input data the reliability information 104 for the soft decision Viterbi decoding by using a likelihood function which becomes maximum on the Gaussian transmission path when coherent detection is performed of the quadrature phase modulation (called QPSK hereinafter) signal which has undergone differential coding. The reliability information L(X) and L(Y) corresponding to the transmitted data X and Y can be obtained by taking logarithm of the ratio of the probability the transmitted data X (or Y) becomes one to that it becomes zero, as expressed by the following equations (1a) and (1b). ##EQU1##
FIGS. 20 and 21 are drawings for explaining the abovementioned differential coding which will now be described referring to these figures. The differential coding refers to a method which converts transmitted data into a phase difference between two consecutive symbols, and then transmits the phase difference. FIG. 20 illustrates an example of the differential coding rule, which shows, for respective transmitted data (X, Y), the phase differences .DELTA..theta. which are actually transmitted, the signal points (x.sup.-.sub.n-1, y.sup.-.sub.n-1) of the previous symbol, and the signal points (x.sup.-.sub.n, y.sup.-.sub.n) of the present symbol. For example, if the signal point (x.sup.-.sub.n-1, y.sup.-.sub.n-1) of the previous symbol is (-1, -1), the transmitted data (0, 1) is converted by rotating its phase by .pi./2 into (1, -1) which is sent as the signal point of the present symbol (x.sup.-.sub.n, y.sup.-.sub.n). FIG. 21 illustrates this on a phase plane. Since the amplitude and phase of the received signal abruptly change owing to fading in the digital mobile communications, such differential coding is often employed.
The operation of the reliability information generator 12 will now be described.
FIG. 22 is a block diagram showing an internal configuration of the reliability information generator 12 as shown in FIG. 19. In this figure, the reference numerals 21a-21h designate error calculators, 22a-22h designate weighting circuits, 23 designates an averaging circuit, 24a-24h designate exponential calculators, 25a and 25b designate adders, 26a and 26b designate logarithmic calculators, and 27 designates a subtracter.
In the reliability information generator 12, the error calculators 21a-21d calculate the errors between the soft decision data 102 fed from the adaptive equalizer 11 and the patterns associated with the transmitted data X of "1", and the error calculators 21e-21h calculate the errors between the soft decision data 102 and the patterns associated with the transmitted data X of "0". For example, the patterns associated with the transmitted data X of "1" are listed in the right half of the column of the signal points of the present symbols. There are four patterns: (x.sup.-.sub.n, y.sup.-.sub.n)=(1, 1) and x.sup.-.sub.n-1 =-1; (x.sup.-.sub.n, y.sup.-.sub.n)=(1, -1) and y.sup.-.sub.n-1 =1; (x.sup.-.sub.n, y.sup.-.sub.n)=(-1, -1) and x.sup.-.sub.n-1 =1, (x.sup.-.sub.n, y.sup.-.sub.n)=(-1, 1) and y.sup.-.sub.n-1 =-1. The error calculators 21a-21d calculate the errors between the four patterns and the soft decision data 102, respectively, and output the errors. Likewise, the error calculators 21e-21h calculate errors between the soft decision data 102 and the four patterns associated with the transmitted data X of "0", which are listed in the left half of the column of the signal points of the present symbols in FIG. 20, and output errors.
The weighting circuits 22a-22d weight the outputs from the error calculators 21a-21d, respectively, by dividing them by the average value .sigma..sub.n.sup.2 obtained by averaging by the averaging circuit 23 the equalized square error 103 fed from the adaptive equalizer 11. The exponential calculators 24a-24d perform the exponential operation on the outputs of the weighting circuits 22a-22d, respectively, and the adder 25a adds the outputs of the exponential calculators 24a-24d, and then the logarithmic calculator 26a performs the logarithmic operation on the output of the adder 25a. Likewise, the weighting circuits 22e-22h, exponential calculators 24e-24h, the adder 25b and the logarithmic calculator 26b perform the weighting, the exponential operation, addition and logarithmic operation on the outputs of the error calculators 21e-21h, respectively. Finally, the subtracter 104 obtains the difference between the outputs of the logarithmic calculator 26a and logarithmic calculator 26b, and outputs the difference L(X) as the reliability information 104. With regard to the transmitted data Y, the value L(Y) calculated in the similar manner is output as the reliability information 104.
The foregoing processes are represented by the following expressions (2a) and (2b), where (x.sub.n, y.sub.n) denotes the soft decision data 102 of the n-th symbol, and .sigma..sub.n.sup.2 denotes the average value of the equalized square error 103 over N.omega. symbols. The average value .sigma..sub.n.sup.2 is expressed by the following equation (3), where e.sub.n.sup.2 denotes the equalized square error 103 of the n-th symbol. ##EQU2##
Let us assume that the transmitted data (X, Y) of (0, 1) is transmitted as in the foregoing example about the differential coding. This means that the actually transmitted previous symbol is (-1, -1) and the present symbol is (1, -1). When there is little noise on a transmission path, the soft decision data 102 output from the adaptive equalizer 11 shown in FIG. 19 will take values close to (x.sub.n-1, y.sub.n-1)=(-1, -1) and (x.sub.n, y.sub.n)=(1, -1), respectively. In this case, only the sixth exponential (exp) function in expression (2a) takes a value close to one, and all the other exponential (exp) functions take values close to zero. Thus, the reliability information L(X) of expression (2a) becomes negative, which indicates with high probability that the transmitted data X will be "0". In expression (2b), on the other hand, only the second exponential (exp) function takes a value close to one, and all the other exponential (exp) functions take values close to zero. Accordingly, the reliability information L(Y) of expression (2b) becomes positive, which indicates with high probability that the transmitted data Y will be "1".
The reliability information 104 generated by the reliability information generator 12 is fed to the deinterleaver 13 which generates the deinterleaved reliability information 105 by rearranging the reliability information 104 in accordance with the interleaving rule at the transmitting side to restore the convolutionally coded data. The soft decision Viterbi decoder 14, receiving the deinterleaved reliability information 105 from the deinterleaver 13, performs the soft decision Viterbi decoding, and outputs the decoded data 106. Specifically, the soft decision Viterbi decoder 14 generates branch metrics by obtaining the square errors between the deinterleaved reliability information 105 fed from the deinterleaver 13 and the candidates of the transmitted data, and stores in a path metric memory path metrics updated by ACS (Add-Compare-Select) operation, in which the branch metrics are added to path metrics, and the resultant sums about a plurality of branches are added and then selected. Subsequently, the soft decision Viterbi decoder 14 outputs the decoded data 106 by sequentially tracing the paths starting from the path with a minimum path metric.
The conventional soft decision decoder with such an arrangement has a problem in that it requires an enormous amount of calculation or a large scale of hardware when implementing the calculation in the reliability information generator 12 including the exponential and logarithmic functions in expressions (2a) and (2b) by using hardware such as a DSP (digital signal processor).